1. Field of the Invention
This invention relates to the emulation of digital signal processors (DSPs) for debugging associated software, and more particularly to real-time signal analysis performed on the DSP during the debugging operation.
2. Description of the Prior Art
DSPs are basically microcomputers that are designed to perform specific signal processing tasks under software control. For a typical single chip DSP application, the applications developer is presented with several debug and analysis challenges. This is due to the fact that the developer is not only designing a signal processing system, but is also writing software.
The process of software debugging starts with ensuring that the software cycles correctly on the DSP. Once this is accomplished, the engineer ensures that the correct signal processing occurs. Typically, this involves ad hoc and empirical measures of performance. If the correct signal processing is not occurring, the engineer must discover the source of the error. In general, errors may result from: a fundamental error in the signal processing algorithm; a data error in coefficients, parameters or constants; or a software bug. An analysis of signals provided to and outputted from the DSP can be useful in each of these error determination functions.
A conventional DSP software debug and signal analysis setup is illustrated in FIG. 1. An analog signal is provided by a signal generator 2 and delivered to an analog-to-digital converter (ADC) 4, which converts it to a digital format suitable for application as an input to the DSP 6. The output from the DSP is converted back to analog format by a digital-to-analog converter (DAC) 8.
Software under test is run on the DSP 6 by means of a conventional emulator system 10, which operates under the control of a host computer illustrated as personal computer 12 and applies the software program to the DSP via a contact probe 14 that includes a multi-wire cable 14. In practice, the user removes the DSP from his circuit board and replaces it with the emulator probe, which has a pinout identical to the DSP chip's pinout. The contact probe includes the same type of DSP as that removed from the board, and establishes a secure path between the replacement DSP and the emulator.
Conventional signal analysis is performed on the input and output signals to and from the DSP by means of a separate signal analyzer system 16. The signal analyzer 16 is connected to detect the analog signals at the input to ADC 4 and the output from DAC 8. The signal analysis is performed digitally, and the signal analyzer 16 includes internal ADCs to convert the detected analog signals to digital format for this purpose. Typical signal analyzers are the HP35660A Dynamic Signal Analyzer by the Hewlett Packard Company, and the PM2260 Oscilloscope Signal Processing Package by the Philips Company.
While necessary to analyze the operation of the DSP during the emulation process, the signal analyzer has several drawbacks. First, it is a stand-alone unit that is fairly expensive and adds significantly to the cost of the overall test apparatus. Also, the signal-to-noise ratio of the analog front-end analyzer is typically about 70 db, which is higher than the typical noise floor of ADC 4 and DAC 8; the signal analyzer 16 will thus be analyzing signals that are noisier than the actual digital signal seen by the DSP 6. In addition, since the signals delivered to signal analyzer 16 embrace both the DSP 6 and the ADC 4 and DAC 8, if a problem appears it may be difficult to determine whether it stems from the DSP itself or from one of the converters. Another limitation is that the signal analyzer 16 does not sample the input analog signal at the same points as the input to the DSP from ADC 4. This makes it very difficult to display "eye" patterns, which are cumulative traces of a succession of input signal patterns.
Signal analysis to test the operation of electrical systems other than DSPs is also frequently performed. In the A500 Analog VLSI Test System by Teradyne, Inc., analog or mixed analog/digital devices (rather than digital units) are tested. The test system includes a built-in DSP that determines whether the analog device is working properly. The DSP generates a digital stimulus signal which is converted to analog format and applied to the device under test; the output of the device under test is then converted back to digital format for analysis by the DSP. In another system, which is designed for the development of slow speed microcontrollers, a digital voltmeter is built into an emulator for the non-DSP microcontroller and used to read the current voltage level (Pentica Systems, Inc. MIME 600). These systems, however, are not applicable to the DSP emulation process.